﻿using System;
using LuaInterface;
using SLua;
using System.Collections.Generic;
public class Lua_Hugula_Loader_CacheData : LuaObject {
	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static public int constructor(IntPtr l) {
		try {
			Hugula.Loader.CacheData o;
			System.Object a1;
			checkType(l,2,out a1);
			UnityEngine.AssetBundle a2;
			checkType(l,3,out a2);
			System.String a3;
			checkType(l,4,out a3);
			o=new Hugula.Loader.CacheData(a1,a2,a3);
			pushValue(l,true);
			pushValue(l,o);
			return 2;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static public int Dispose(IntPtr l) {
		try {
			Hugula.Loader.CacheData self=(Hugula.Loader.CacheData)checkSelf(l);
			self.Dispose();
			pushValue(l,true);
			return 1;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static public int get_assetBundle(IntPtr l) {
		try {
			Hugula.Loader.CacheData self=(Hugula.Loader.CacheData)checkSelf(l);
			pushValue(l,true);
			pushValue(l,self.assetBundle);
			return 2;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static public int set_assetBundle(IntPtr l) {
		try {
			Hugula.Loader.CacheData self=(Hugula.Loader.CacheData)checkSelf(l);
			UnityEngine.AssetBundle v;
			checkType(l,2,out v);
			self.assetBundle=v;
			pushValue(l,true);
			return 1;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static public int get_www(IntPtr l) {
		try {
			Hugula.Loader.CacheData self=(Hugula.Loader.CacheData)checkSelf(l);
			pushValue(l,true);
			pushValue(l,self.www);
			return 2;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static public int set_www(IntPtr l) {
		try {
			Hugula.Loader.CacheData self=(Hugula.Loader.CacheData)checkSelf(l);
			System.Object v;
			checkType(l,2,out v);
			self.www=v;
			pushValue(l,true);
			return 1;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static public int get_assetBundleKey(IntPtr l) {
		try {
			Hugula.Loader.CacheData self=(Hugula.Loader.CacheData)checkSelf(l);
			pushValue(l,true);
			pushValue(l,self.assetBundleKey);
			return 2;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static public int get_assetHashCode(IntPtr l) {
		try {
			Hugula.Loader.CacheData self=(Hugula.Loader.CacheData)checkSelf(l);
			pushValue(l,true);
			pushValue(l,self.assetHashCode);
			return 2;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
	static public int get_allDependencies(IntPtr l) {
		try {
			Hugula.Loader.CacheData self=(Hugula.Loader.CacheData)checkSelf(l);
			pushValue(l,true);
			pushValue(l,self.allDependencies);
			return 2;
		}
		catch(Exception e) {
			return error(l,e);
		}
	}
	static public void reg(IntPtr l) {
		getTypeTable(l,"Hugula.Loader.CacheData");
		addMember(l,Dispose);
		addMember(l,"assetBundle",get_assetBundle,set_assetBundle,true);
		addMember(l,"www",get_www,set_www,true);
		addMember(l,"assetBundleKey",get_assetBundleKey,null,true);
		addMember(l,"assetHashCode",get_assetHashCode,null,true);
		addMember(l,"allDependencies",get_allDependencies,null,true);
		createTypeMetatable(l,constructor, typeof(Hugula.Loader.CacheData));
	}
}
